package org.linloong.modules.apis.monitor.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.linloong.modules.apis.monitor.entity.DeviceGroup;

import java.math.BigDecimal;
import java.util.Map;

/**
 * 实时聚合结果DTO（按分组+指标+时间维度）
 */
@Data
@Schema(name = "RealTimeAggDTO", description = "实时计算的年月平均值结果")
public class RealTimeAggDTO {
    @Schema(description = "设备分组信息")
    private DeviceGroup group;

    /**
     * 年度平均值Map
     * key：年份（如2024）
     * value：指标名称→平均值（如{"温度": 25.5, "湿度": 60.2}）
     *
     */
    @Schema(description = "日平均值（年份→月份→指标→值）")
    private  Map<Integer, Map<Integer, Map<Integer, Map<String, BigDecimal>>>> DailyAvg;
    @Schema(description = "年度平均值（年份→指标→值）")
    private Map<Integer, Map<String, BigDecimal>> yearlyAvg;

    /**
     * 月度平均值Map
     * key：年份（如2024）
     * value：月份→指标名称→平均值（如{3: {"温度": 26.1}, ...}）
     */
    @Schema(description = "月度平均值（年份→月份→指标→值）")
    private Map<Integer, Map<Integer, Map<String, BigDecimal>>> monthlyAvg;
}